﻿@model Aga.GestionDeArchivos.Web.Models.Guarda.RetornoDocumentacionModel
@{
    ViewBag.Title = "Retorno de Documentacion";
    Layout = "~/Views/Shared/_InternalLayout.cshtml";
}
@section Scripts
{
    <script type="text/javascript">
        var itemId;

        function showLoading(id) {
            $('img[name="loadingimg' + id + '"]').each(function () { $(this).show() });
        }

        function hideLoading(id) {
            $('img[name="loadingimg' + id + '"]').each(function () { $(this).hide() });
        }

        $(document).ready(function () {
            $('#ClienteId').change(function () {
                var cliente = $(this).val();

                if (cliente != '') {
                    showLoading('');

                    $('.divDatos').hide();
                    $('.divButtons').show();

                    $.ajax({
                        url: '@VirtualPathUtility.ToAbsolute("~/Guarda/BuscarCliente")',
                        data: { nombre: cliente },
                        type: 'POST',
                        dataType: 'json',
                        success: function (result) {
                            if (result != undefined) {
                                $('#ClienteId').val(result.Id);
                                $('#Nombre').val(result.Nombre);
                                $('input[type="submit"]').click();
                            }
                            else {
                                alert('Ha ocurrido un error obteniendo los datos del cliente. Vuelva a leer la caja.');
                            }
                            hideLoading('');
                        },
                        error: function (e) {
                            hideLoading();
                            alert('Ha ocurrido un error obteniendo los datos del cliente. Vuelva a leer la caja.\n\n' + e);
                        }
                    });
                }
            });

            // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
            $("#dialog:ui-dialog").dialog("destroy");

            $("#dialog-form").dialog({
                autoOpen: false,
                height: 250,
                width: 350,
                modal: true,
                buttons: {
                    "Confirmar Retorno": function () {
                        
                        $('#item' + itemId).hide();
                        $('#retornando' + itemId).show();

                        $.ajax({
                            url: '@VirtualPathUtility.ToAbsolute("~/Guarda/RetornarItemDocumentacion")',
                            data: { id: itemId, observaciones: $('#observaciones').val() },
                            type: 'POST',
                            dataType: 'json',
                            success: function (result) {
                                if (result.status == 'ok') {
                                    $('#retornando' + itemId).hide();
                                    $('#retornado' + itemId).show();
                                }
                                else {
                                    hideLoading(itemId);
                                    $('#retornando' + itemId).hide();
                                    alert('Ha ocurrido un error al intentar retornar la documentación seleccionada.\n\n' + result.message);
                                }
                            },
                            error: function (e) {
                                hideLoading(itemId);
                                $('#retornando' + itemId).hide();
                                alert('Ha ocurrido un error al intentar retornar la documentación seleccionada.\n\n' + e);
                            }
                        });
                        $(this).dialog("close");
                    },
                    Cancelar: function () {
                        hideLoading(itemId);
                        $(this).dialog("close");
                    }
                },
                close: function () {
                    hideLoading(itemId);
                }
            });

        });

        function retornarItem(id, detalle) {
            itemId = id;
            showLoading(id);
            $("#detalleItem").text(detalle);
            $("#dialog-form").dialog("open");
        }
    </script>
}
<div id="content">
    <table width="100%" border="0" cellpadding="0" cellspacing="0" class="box-style1">
        <tr>
            <td id="box2">
                <h2>
                    Retorno de Documentación</h2>
                @using (Html.BeginForm())
                {
                    <p>
                        @Html.LabelFor(model => model.ClienteId):
                        <br />
                        @Html.TextBoxFor(model => model.ClienteId, new { @class = "largetext" })
                        <img name="loadingimg" src="@Url.Content("~/Content/images/loading.gif")" style="display:none" alt="loading..." />
                        <br />
                        @Html.LabelFor(model => model.Nombre):
                        <br />
                        @Html.TextBoxFor(model => model.Nombre, new { @readonly = "readonly", disabled = "disabled", @class = "largetext" })
                        <img name="loadingimg" src="@Url.Content("~/Content/images/loading.gif")" style="display:none" alt="loading..." />
                    </p>

               if (Model.Items.Count > 0)
               {
                   <div class="divDatos">
                    @Html.LabelFor(model => model.Items)
                    <br />                    
                    <table class="abm">
                        <tr>
                            <th>
                                Fecha
                            </th>
                            <th>
                                Remito
                            </th>
                            <th>
                                Cantidad
                            </th>
                            <th>
                                Caja
                            </th>
                            <th>
                                Detalle
                            </th>
                            <th>
                            </th>
                        </tr>
                        @foreach (var item in Model.Items)
                        { 
                            <tr>
                                <td>@item.FechaRemito
                                </td>
                                <td>@item.NumeroRemito
                                </td>
                                <td>@item.Cantidad
                                </td>
                                <td>@item.CajaCliente
                                </td>
                                <td>@item.Detalle
                                </td>
                                <td>
                                    <div id="@("item" + item.Id)">
                                        <a href="javascript:retornarItem(@item.Id, '@item.Detalle')">Retornar</a>
                                        <img name="@("loadingimg" + item.Id)" src="@Url.Content("~/Content/images/loading.gif")" style="display:none" alt="loading..." />
                                    </div>
                                    <div id="@("retornando" + item.Id)" style="display:none">
                                        <img src="@Url.Content("~/Content/images/loading.gif")" alt="loading..." />
                                    </div>
                                    <div id="@("retornado" + item.Id)" style="display:none">
                                        Retorno Ok
                                    </div>
                                </td>
                            </tr> 
                        }
                    </table>

                    <ul class="paging">
                        @if (Model.Items.IsFirstPage)
                        {
                            <li>Primero</li>
                            <li>Anterior</li>
                        }
                        else
                        {
                            <li>@Html.ActionLink("Primero", "RetornoDocumentacion", new { id = Model.ClienteId, index = 0 })</li>
                            <li>@Html.ActionLink("Anterior", "RetornoDocumentacion", new { id = Model.ClienteId, index = Model.Items.PageIndex - 1 })</li>
                        }
                        <li>Página @Model.Items.PageNumber de @Model.Items.PageCount</li>
                        @if (Model.Items.IsLastPage)
                        {
                            <li>Siguiente</li>
                            <li>Último</li>
                        }
                        else
                        {
                            <li>@Html.ActionLink("Siguiente", "RetornoDocumentacion", new { id = Model.ClienteId, index = Model.Items.PageIndex + 1 })</li>
                            <li>@Html.ActionLink("Último", "RetornoDocumentacion", new { id = Model.ClienteId, index = Model.Items.PageCount - 1 })</li>
                        }
                    </ul>
                    </div>
                    <div class="divButtons" style="display:none">
                        <p class="buttons alignleft">
                            <input type="submit" value="Buscar Items" id="btnBuscar" name="btnBuscar" />
                        </p>
                    </div>
               }
               else
               {
                   if (Model.ClienteId > 0)
                   {

                    <table class="abm">
                        <tr>
                            <th>
                                Fecha
                            </th>
                            <th>
                                Remito
                            </th>
                            <th>
                                Cantidad
                            </th>
                            <th>
                                Caja
                            </th>
                            <th>
                                Detalle
                            </th>
                            <th>
                            </th>
                        </tr>
                        <tr>
                            <td colspan="6">No se encontraron items sin retornar para el cliente ingresado.</td>
                        </tr>
                    </table>
                   }
                   <div class="divButtons" style="display:block">
                    <p class="buttons alignleft">
                        <input type="submit" value="Buscar Items" />
                    </p>
                    </div>
               }
                }
            </td>
        </tr>
    </table>
</div>
<div id="dialog-form" title="Confirmar Retorno de Documentación">
    <form>
        <p>
            <span id="detalleItem"></span>
        </p>
        <label for="observaciones">
            Observaciones</label>
        <textarea name="observaciones" rows="4" cols="1" style="width:315px !important" id="observaciones" class="ui-widget-content ui-corner-all"></textarea>
    </form>
</div>
